// createStore: 方法 创建store实例对象

import { createStore } from 'vuex'
import user from './modules/user'
import cart from './modules/cart'
import category from './modules/category'
// 导入插件
import createPersistedstate from 'vuex-persistedstate'

export default createStore({
  strict: true, // 开启严格模式：只容许通过提交mutation函数的方式进行数据修改 否则就报错
  modules: {
    // 组合模块
    user,
    cart,
    category
  },
  plugins: [
    // 插件的同步机制：只要咱们修改了state中的数据 就会自动同步
    createPersistedstate({
      key: 'rabbit-data', // 存放数据的key
      paths: ['user', 'cart'] // 想把那个模块中的state中的数据进行持久化 就把它的名字放过来
    })
  ]
})
